package com.bsoft.gol.hcs.his.service;

import com.bsoft.gol.hcs.clinical.bean.req.*;
import com.bsoft.gol.hcs.clinical.bean.response.*;
import hcn.base.CheckRequisitionDetail;
import hcn.base.CheckRequisitionRecord;
import hcn.util.BaseResponse;
import com.bsoft.gol.hcs.his.bean.request.CheckSetDetailRequest;
import com.bsoft.gol.hcs.his.bean.request.CheckSetListRequest;
import com.bsoft.gol.hcs.his.bean.response.CheckSetDetailResponse;
import com.bsoft.gol.hcs.his.bean.response.CheckSetListResponse;

import java.util.List;

/**
 * @Description
 * @Author:xhf
 * @Data Created in 2020/05/29 11:13
 * @Moddified By:
 */
public interface IMedicalSkillsHisXmlService {


    /*保存检查申请单*/
    BaseResponse<SaveCheckInfoRespFromHIS> saveCheckInfo(SaveCheckInfoReqForHIS saveCheckInfoReq);

    /*撤单检验申请单*/
    BaseResponse returnInspectionItem(CancelMedicalSkillReq cancelMedicalSkillReq);

    BaseResponse<CheckTypeTotalResponse> queryCheckTypeList(CheckTypeRequest request);

    List<QueryCheckItemListResp> queryCheckItemList(QueryCheckItemListReq request);

    BaseResponse<List<QueryCheckItemDtailResp>> queryCheckItemDtail(QueryCheckItemDtailReq request);

    List<String> getApplyNo(ApplyNoRequest request);

    List<QueryCheckPositionItemResp> queryCheckPositionList(QueryCheckPositionListReq request);

    BaseResponse<CheckReportFormTotalReaponse> getCheckReportForm(CheckReportFormRequest request);

    BaseResponse updateCheckItemStatus(CheckItemStatusRequest request);


    BaseResponse<QueryMedicalSkillListRespFromHIS> queryMedicalSkillList(QueryMedicalSkillListReqForHIS queryMedicalSkillListReq);

    SubmitMedicalSkillResponse submitMedicalSkillXml(SubmitMedicalSkillRequest request);


    BaseResponse updateCheckInfo(CheckRequisitionRecord record, List<CheckRequisitionDetail> details, String examStatusCode, String invoiceNo, String itemCost);

    BaseResponse<List<OrganizeListResponse>> getOrganizeList();

    BaseResponse<CheckReportInfoTotalResp> getCheckReportInfo(CheckReportInfoReq request);

    CheckSetListResponse queryCheckSetList(CheckSetListRequest request);

    CheckSetDetailResponse queryCheckSetDetail(CheckSetDetailRequest request);
}
